package com.yykj.tencent.im.server.service;

import com.yykj.tencent.im.server.bean.request.*;
import com.yykj.tencent.im.server.bean.response.*;
import com.yykj.tencent.im.server.dto.ContactDTO;

import java.util.List;

/**
 * 好友管理
 */
public interface SnsService {
    /**
     * 添加好友
     */
    FriendAddResult friendAdd(FriendAddRequest friendAddRequest);

    /**
     * 导入好友
     */
    FriendImportResult friendImport(FriendImportRequest friendImportRequest);

    /**
     * 更新好友
     */
    FriendUpdateResult friendUpdate(FriendUpdateRequest friendUpdateRequest);

    /**
     * 删除好友
     */
    FriendDeleteResult friendDelete(FriendDeleteRequest friendDeleteRequest);

    /**
     * 删除所有好友
     */
    FriendDeleteAllResult friendDeleteAll(FriendDeleteAllRequest friendDeleteAllRequest);

    /**
     * 校验好友
     */
    FriendCheckResult friendCheck(FriendCheckRequest friendCheckRequest);

    /**
     * 拉取好友
     */
    FriendGetResult friendGet(FriendGetRequest friendGetRequest);

    /**
     * 拉取指定好友
     */
    FriendGetListResult friendGetList(FriendGetListRequest friendGetListRequest);

    /**
     * 添加黑名单
     */
    BlackListAddResult blackListAdd(BlackListAddRequest blackListAddRequest);

    /**
     * 删除黑名单
     */
    BlackListDeleteResult blackListDelete(BlackListDeleteRequest blackListDeleteRequest);


    /**
     * 拉取黑名单
     */
    BlackListGetResult blackListGet(BlackListGetRequest blackListGetRequest);

    /**
     * 校验黑名单
     */
    BlackListCheckResult blackListCheck(BlackListCheckRequest blackListCheckRequest);

    /**
     * 添加分组
     */
    GroupAddResult groupAdd(GroupAddRequest groupAddRequest);

    /**
     * 删除分组
     */
    GroupDeleteResult groupDelete(GroupDeleteRequest groupDeleteRequest);

    /**
     * 拉取分组 结果
     */
    GroupGetResult groupGet(GroupGetRequest groupGetRequest);



}
